# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

Program(CONFIG['MOZ_APP_NAME'])

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    SOURCES += [ 'koStart.mm' ]
else:
    SOURCES += [ 'koStart.c' ]
SOURCES += [
    'my_getopt.c',
    'nsKomodoApp.cpp',
]

DEFINES['APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
DEFINES['MOZ_APP_BASENAME'] = CONFIG['MOZ_APP_BASENAME']
DEFINES['MOZ_APP_VENDOR'] = CONFIG['MOZ_APP_VENDOR']
DEFINES['XPCOM_GLUE'] = True
DEFINES['KOMODO_USE_WMAIN'] = True

for var in ('MOZILLA_OFFICIAL', 'LIBXUL_SDK'):
    if CONFIG[var]:
        DEFINES[var] = True

LOCAL_INCLUDES += [
    '/toolkit/xre',
    '/xpcom/base',
    '/xpcom/build',
]

if CONFIG['_MSC_VER']:
    # Always enter a Windows program through wmain, whether or not we're
    # a console application.
    WIN32_EXE_LDFLAGS += ['-ENTRY:wmainCRTStartup']

if CONFIG['OS_ARCH'] == 'WINNT':
    RCINCLUDE = 'splash.rc'
    DEFINES['MOZ_PHOENIX'] = True

# Control the default heap size.
# This is the heap returned by GetProcessHeap().
# As we use the CRT heap, the default size is too large and wastes VM.
#
# The default heap size is 1MB on Win32.
# The heap will grow if need be.
#
# Set it to 256k.  See bug 127069.
if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']:
    LDFLAGS += ['/HEAP:0x40000']

# toddw: Trying to use 'xpcomglue_staticruntime' instead (like Firefox) causes
#        startup issues.
USE_LIBS += [
    'xpcomglue',
]

DISABLE_STL_WRAPPING = True

if CONFIG['MOZ_LINKER']:
    OS_LIBS += CONFIG['MOZ_ZLIB_LIBS']

if CONFIG['HAVE_CLOCK_MONOTONIC']:
    OS_LIBS += CONFIG['REALTIME_LIBS']

JAR_MANIFESTS += ['jar.mn']
